Like, operator

       

Wordt gebruikt om twee tekenreeksen met elkaar te vergelijken.

Syntaxis

resultaat = tekenreeks Like patroon

De syntaxis van de operator Like bestaat uit de volgende onderdelen:

Onderdeel Beschrijving
resultaat Vereist. Een willekeurige numerieke variabele.
string Vereist. Een willekeurige tekenreeksexpressie.
patroon Vereist. Een willekeurige tekenreeksexpressie die voldoet aan de conventies voor het vergelijken van patronen die hieronder zijn beschreven.

Notities

Als tekenreeks overeenkomt met patroon, is resultaat True. Als geen sprake is van overeenkomst, is resultaat False. Als tekenreeks of patroon Null is, is resultaat ook Null.

Het gedrag van de operator Like wordt bepaald door de instructie Option Compare. De standaardmethode voor tekenreeksvergelijking voor elke module is Option Compare Binary.

Met Option Compare Binary worden tekenreeksvergelijkingen uitgevoerd op grond van een sorteervolgorde die is afgeleid van de interne binaire notatie van de tekens. De sorteervolgorde wordt bepaald door de codepagina. In het volgende voorbeeld ziet u een typische binaire sorteervolgorde:

A < B < E < Z < a < b < e < z < └ < ╩ < ╪ < α < Ω < °

Met Option Compare Text worden tekenreeksvergelijkingen uitgevoerd op grond van een tekstsorteervolgorde die afhangt van de lokale instellingen van uw systeem. Hierbij wordt geen onderscheid gemaakt tussen hoofdletters en kleine letters. Wanneer u dezelfde tekst als in het vorige voorbeeld sorteert met Option Compare Text, levert dit de volgende tekstsorteervolgorde op:

(A=a) < (└=α) < (B=b) < (E=e) < (╩=Ω) < (Z=z) < (╪=°)

Patronen vergelijken is een ingebouwde functie waarmee u over een veelzijdig hulpmiddel beschikt voor het vergelijken van tekenreeksen. U kunt jokertekens, tekenlijsten of tekenbereiken in elke gewenste combinatie opgeven en deze vergelijken met tekenreeksen. De volgende tabel geeft een overzicht van de tekens die u in een patroon kunt opnemen en de tekens waarmee deze overeenkomen:

Tekens in patroon Komen in tekenreeks overeen met
? Een willekeurig teken.
* Nul of meer tekens.
# EΘn willekeurig cijfer (0û9).
[tekenlijst] EΘn willekeurig teken dat in tekenlijst voorkomt.
[!tekenlijst] EΘn willekeurig teken dat niet in tekenlijst voorkomt.

Een groep van een of meer tekens (tekenlijst) die tussen vierkante haken staat ([ ]) kunt u gebruiken om na te gaan of ΘΘn teken in de tekenreeks overeenkomt met de tekens in de opgegeven lijst. Bovendien kunt u in de tekenlijst bijna elke tekencode opnemen, inclusief cijfers.

Opmerking U kunt de speciale tekens linker vierkant haakje ([), vraagteken (?), hekje (#) en sterretje (*) alleen gebruiken om zichzelf aan te duiden wanneer u deze tekens tussen vierkante haakjes plaatst. U kunt het rechter vierkante haakje (]) niet letterlijk in een groep gebruiken, maar wel als afzonderlijk teken buiten een groep.

In tekenlijst kunt u ook een tekenbereik opgeven, waarbij u een afbreekstreepje (-) gebruikt om de boven- en benedengrens van het bereik van elkaar te scheiden. Als patroon bijvoorbeeld [A-Z] bevat, levert dit een overeenkomst op wanneer op de corresponderende positie in tekenreeks een hoofdletter in het bereik van A t/m Z staat. U kunt meerdere tekenreeksen tussen de vierkante haakjes opgeven zonder scheidingstekens te gebruiken tussen de tekenreeksen.

Welke tekens een opgegeven tekenreeks bevat, hangt af van de tekenvolgorde die tijdens de runtime geldt (de tekenvolgorde wordt bepaald door Option Compare en de lokale instellingen van het systeem waarop het programma is gestart). Als u het voorafgaande voorbeeld gebruikt met Option Compare Binary, komt de tekenreeks [AûE] overeen met A, B en E. Met Option Compare Text, komt [AûE] overeen met A, a, └, α, B, b, E, e. Deze tekenreeks levert geen ╩ of Ω op, omdat tekens met accenten in de sorteervolgorde pas na alle tekens zonder accenten komen.

Andere belangrijke regels bij patroonvergelijkingen:

In sommige talen bevat het alfabet speciale tekens die eigenlijk voor twee afzonderlijke tekens staan. Zo kennen verschillende talen het teken "µ" voor de combinatie van de tekens "a" en "e". De operator Like herkent dat het speciale enkelvoudige teken en de twee afzonderlijke tekens gelijk zijn.

Als in de lokale instellingen van het systeem een taal is ingesteld die gebruik maakt van dergelijke speciale tekens, komt een speciaal enkelvoudig teken in patroon of tekenreeks overeen met de equivalente tekenreeks van 2 tekens in de andere tekenreeks. Een speciaal teken dat in patroon tussen vierkante haakjes staat (alleen, in een lijst of in een bereik), komt ook overeen met de equivalente tekenreeks van twee tekens in tekenreeks.